diff -up qt-everywhere-opensource-src-4.8.7/src/tools/moc/main.cpp.QTBUG-22829 qt-everywhere-opensource-src-4.8.7/src/tools/moc/main.cpp
--- qt-everywhere-opensource-src-4.8.7/src/tools/moc/main.cpp.QTBUG-22829	2015-05-07 09:14:44.000000000 -0500
+++ qt-everywhere-opensource-src-4.8.7/src/tools/moc/main.cpp	2016-12-08 12:32:46.638962448 -0600
@@ -188,8 +188,12 @@ int runMoc(int _argc, char **_argv)
     pp.macros["Q_MOC_RUN"];
     pp.macros["__cplusplus"];
 
-    // Workaround a bug while parsing the boost/type_traits/has_operator.hpp header. See QTBUG-22829
+    // Workaround a bugs while parsing some boost headers. See QTBUG-22829 
     pp.macros["BOOST_TT_HAS_OPERATOR_HPP_INCLUDED"];
+    pp.macros["BOOST_LEXICAL_CAST_INCLUDED"];
+    pp.macros["BOOST_NEXT_PRIOR_HPP_INCLUDED"];
+    pp.macros["BOOST_TYPE_TRAITS_HPP"];
+    pp.macros["_SYS_SYSMACROS_H_OUTER"];
 
     QByteArray filename;
     QByteArray output;
